SGP40 VOC Sensor 您所在的位置:网站首页 树莓派 空气质量 SGP40 VOC Sensor

SGP40 VOC Sensor

2024-05-19 20:44| 来源: 网络整理| 查看: 265

SGP40 VOC Sensor {{{name2}}} {{{name3}}} 基本信息 分类: 环境传感器模块 {{{userDefinedInfo1}}}: {{{userdefinedvalue1}}} {{{userDefinedInfo2}}}: {{{userdefinedvalue2}}} {{{userDefinedInfo3}}}: {{{userdefinedvalue3}}} 品牌: Waveshare 功能简介 特性 环境传感器 ' 无特性,不解释 ' 无特性,不解释 ' 无特性,不解释 ' 无特性,不解释 接口 I2C 相关产品 ♦ {{{Product1}}} ♦ {{{Product2}}} ♦ {{{Product3}}} ♦ {{{Product4}}} ♦ {{{Product5}}} —— 类目1 —— ♦ 类目1

列表1

♦ 类目2

列表2

♦ 类目3

列表3

♦ 类目4

列表4

♦ 类目5

列表5

目录 1 说明 1.1 产品概述 1.2 产品特性 1.3 产品参数 1.4 接口说明 1.5 硬件说明 1.5.1 芯片 1.5.2 通信协议 1.5.3 CRC校验码 2 Arduino 2.1 硬件连接 2.2 安装编译软件(windows教程) 2.3 验证程序 3 STM32 3.1 硬件连接 4 Raspberry Pi 4.1 硬件连接 4.2 树莓派使用 4.2.1 开启I2C接口 4.2.2 安装库 4.2.3 下载并运行测试例程 4.2.4 硬件连接 4.2.5 c程序 4.2.6 python程序 5 资料 5.1 文档 5.2 程序 5.3 软件 5.4 数据手册 6 FAQ 7 技术支持 说明

产品概述

SGP40 VOC Sensor 是一款搭载 SGP40 的数字 VOC (挥发性有机化合物)气体传感器扩展板,可用于空气质量检测,如,检测空气中的燃煤、天然气排放物;吸烟和烹调等烟雾;建筑活动,装饰材料、家具和家用电器等的排放物,并生成数字信号触发空气处理设备。SGP40 VOC Sensor 体积小巧,可轻松集成到空气处理设备或空气质量监测器当中,是学习空气质量检测功能的理想选择。

产品特性 采用 SGP40,可测量环境 0 ~ 1000 ppm 乙醇当量 具有湿度补偿和低热量散发功能,在各种环境下均具有优异的性能 数字 I2C 接口输出,不易受到干扰 板载电平转换电路,可兼容 3.3V/5V 的工作电平 提供完善的配套资料手册 (Raspberry/Arduino/STM32 示例程序和用户手册等) 产品参数 工作电压: 3.3V/5V 有效量程: 0~1000 ppm 乙醇当量 传感器: SGP40 启动时间: 3.3V/5V 响应时间 : < 10s (tau 63 %) 通信接口: I2C (固定地址:0x59) 产品尺寸: 27 × 20mm 固定孔径: 2.0mm 接口说明 引脚功能 引脚号 标识 管脚描述 1 VCC 3.3V/5V电源正 2 GND 电源地 3 SDA I2C数据线 4 SCL I2C时钟线 硬件说明 芯片

本产品采用Sensirion 的SGP40 气体传感器,设计用于轻松集成到空气净化器或需求控制的通风系统中。 Sensirion 的 CMOSens® 技术在单芯片上提供完整、易于使用的传感器系统,具有数字 I2C 接口和温控微加热板,提供基于 VOC 的湿度补偿室内空气质量信号。 Sensirion 强大的 VOC 算法可以直接处理输出信号,将原始信号转换为 VOC 指数,作为衡量室内空气质量的可靠指标。 VOC 算法会自动适应传感器所处的环境,传感元件和 VOC 算法均具有无与伦比的稳健性,可抵御现实世界应用中存在的污染气体,从而实现独特的长期稳定性以及低漂移和设备间差异。

通信协议

SGP40使用的是I2C通信,I2C 通信,一条数据线,一条时钟线。正常 I2C 总线在传送数据过程中共有三种类型信号:开始信号、结束信号和应答信号,如下图: 开始信号:SCL 为高电平时, SDA 由高电平向低电平跳变,开始传送数据。 结束信号:SCL 为高电平时, SDA 由低电平向高电平跳变,结束传送数据。 应答信号:接收数据的 IC 在接收到 8bit 数据后,向发送数据的 IC 发出特定的低电平脉冲,表示已收到数据。

SGP40的I2C数据读写操作

如上图可知,SGP40的数据发送都是16位的地址,且发送的16位数据后需要跟一位CRC-8/MAXIM校验码。

CRC校验码

CRC即循环冗余校验码(Cyclic Redundancy Check):是数据通信领域中最常用的一种查错校验码,其特征是信息字段和校验字段的长度可以任意选定。循环冗余检查(CRC)是一种数据传输检错功能,对数据进行多项式计算,并将得到的结果附在帧的后面,接收设备也执行类似的算法,以保证数据传输的正确性和完整性。 SGP40采用的是CRC-8/MAXIM校验码计算,即多项式x^8 + x^5 + x^4 + 1的计算结果; 程序上进行了简化,使用的查表法。

Arduino

本例程在Arduino UNO上测试,如使用了其他型号的Arduino,请注意相关引脚连接是否正确

硬件连接

安装编译软件(windows教程)

arduino IDE 安装教程

验证程序

在产品百科界面下载程序,然后解压。 本例程是基于arduino库版本写的,因此需要把程序复制到arduino的库目录下。 把下周好的文件中Arduino目录下的文件夹Waveshare_SGP40复制到Arduino安装目录的libraries下(C:\Users\XXX\Documents\Arduino\libraries 或者 C:\Program Files (x86)\Arduino\libraries) 打开Arduino IDE: 点击 文件(flie)->示例(example) 加载库,查看是否有Waveshare_SGP40选项,若有说明库导入成功,打开example中的ino工程文件,如图所示: 开发板选择相应的型号,选择相应的COM口,编译程序,下载到UNO上,打开串口监视器 需要注意的是,此值使用了转换后的值,在正常情况下VOC为0,除非环境恶劣,否则可以用酒精来代替挥发气体,可得到较大幅度的敏感跳动

STM32

本例程在NUCLEO-F103RB(芯片型号STM32RBT6)上验证通过,如需移植,请注意相关配置及连接方式

硬件连接

与XNUCLEO-F103RB的连接:

AS7341 Spectral Color Sensor XNUCLEO-F103RB VCC 3.3V/5V GND GND SDA SDA/D14/PB9 SCL SCL/D15/PB8 Raspberry Pi

本例程使用的是Raspberry Pi 4 Model B,提供RPI(Python)库例程

硬件连接

AS7341 Spectral Color Sensorr 树莓派(BCM) VCC 3.3V/5V GND GND SDA SDA(2) SCL SCL(3) 树莓派使用 开启I2C接口 在终端执行: sudo raspi-config #选择 Interfacing Options -> I2C ->yes 启动 i2C 内核驱动

然后重启树莓派 sudo reboot 安装库 安装BCM2835,打开树莓派终端,并运行下指令 wget http://www.airspayce.com/mikem/bcm2835/bcm2835-1.60.tar.gz tar zxvf bcm2835-1.60.tar.gz cd bcm2835-1.60/ sudo ./configure sudo make sudo make check sudo make install 安装wiringpi sudo apt-get install wiringpi #对于树莓派4B可能需要进行升级: cd /tmp wget https://project-downloads.drogon.net/wiringpi-latest.deb sudo dpkg -i wiringpi-latest.deb gpio -v 下载并运行测试例程 sudo apt-get install p7zip-full wget https://www.waveshare.net/w/upload/6/62/SGP40_Voc_Sensor_code.7z 7z x SGP40_Voc_Sensor_code.7z -r -o./SGP40_Voc_Sensor_code sudo chmod 777 -R SGP40_Voc_Sensor_code 硬件连接

c程序 cd cd SGP40_Voc_Sensor_code/RPI/c sudo make clean sudo make sudo ./main python程序 cd cd SGP40_Voc_Sensor_code/RPI/python sudo python SGP40.py 注意:此传感器对乙醇反应异常敏感。 注意:此传感器开始工作会有一个加热过程,加热过程原始数据会缓慢增加直至稳定。

资料 文档 原理图 程序 示例程序 软件 Arduino IDE 串口调试助手 数据手册 SGP40 FAQ 问题:为什么我按教程中所说的上电操作之后,串口只打印一点提示语就不再输出任何数据或者输出的数据都为0?

请检查硬件连接是否OK,尤其是SDA和SCL的线序不要搞反,并将传感器断电后重新接上并重新运行程序

问题:工作原理是什么?

问题:输出的单位是什么?

输出的原始数据是传感器ADC值,使用Sensirionu库可以转换成VOC等级指数,无法转换成PPM单位或者PPB。

技术支持

联系人:彭工 EMAIL:[email protected] 电话:0755-83040712 QQ:2851966006 微信:扫下方二维码添加

说明:进行售后服务前,请准备好客户信息(定货单位、定货人等),以供验证


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有